package com.shike.hq.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shike.hq.entity.Area;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.Map;

/**
 * Area映射接口
 */
@Mapper
@Repository
public interface AreaMapper extends BaseMapper<Area> {
  /**
   * 根据管理员的区域id查询区域
   *
   * @param areaId 管理员的区域id
   * @return 区域列表 array list
   */
  ArrayList<Area> selectAllAreaById(@Param("areaId") long areaId );

  /**
   * 根据所属区域id查询区域列表
   *
   * @param id 所属区域id
   * @return 区域列表 array list
   */
  ArrayList<Area> selectAreasByParent(@Param("id") long id);

  /**
   * 根据id更新区域信息
   *
   * @param area 新的区域信息
   * @return 影响的条数 long
   */
  long updateAreaById(@Param("area") Area area);

  /**
   * 根据id删除区域信息
   *
   * @param id 区域id
   * @return 影响的条数 long
   */
  long deleteAreaById(@Param("id") long id);

  /**
   * 新增区域信息
   *
   * @param area 新增的区域信息
   * @return 影响的条数 long
   */
  long insertArea(@Param("area") Area area);

}
